﻿using System.Collections.Generic;
using FishFillets.Model;
using FishFillets.Model.GameItems;
using Microsoft.Xna.Framework;

namespace FishFillets.Data.levels
{
    public partial class wc : BaseLevelScript
    {
        public wc(ILevelAgent agent)
            : base(agent)
        {
        }

        public class _room : Item
        {
            public int uvod;
            public int druha;
            public int omise;
            public int timerdruhe;
        }
        public _room room;

        public override Level models()
        {
            sound_playMusic("music/rybky10");

            Level l = new Level
            {
                Name = "wc",
                Width = 23,
                Height = 22,
                Items = new List<Item>(),
                Small = small = new Fish
                {
                    Alive = true,
                    Position = new Point(7, 12),
                    Weight = ItemWeight.Fixed,
                    Strength = ItemWeight.Light,
                    Direction = FishDirection.Right,
                    ItemMap = LoadMap(new[]
                    {
                        "XXX"
                    }),
                },
                Big = big = new Fish
                {
                    Alive = true,
                    Position = new Point(7, 9),
                    Weight = ItemWeight.Fixed,
                    Strength = ItemWeight.Heavy,
                    Direction = FishDirection.Right,
                    ItemMap = LoadMap(new[]
                    {
                        "XXXX",
                        "XXXX"
                    }),
                },
            };

            // add named items
            l.Items.Add(
                room = new _room
                {
                    AssetName = "wc-w",
                    Weight = ItemWeight.Fixed,
                    Position = new Point(0, 0),
                    ItemMap = LoadMap(new[]
                    {
                        ".......................",
                        ".......................",
                        "X.................XXX..",
                        "XX..XXXXXXXX...XX.XXXXX",
                        "XXXXXXXXXXXXXXXXX.XXXXX",
                        "XXXXXXXXXXXXXXXXX.XXXXX",
                        "XXXXXXXXXXX.......XXXXX",
                        "XX.XXXXXX..............",
                        "X......................",
                        ".................XX....",
                        ".................XXX...",
                        ".................XXXXXX",
                        ".................XXXXXX",
                        ".................XXXXXX",
                        ".................XXXXXX",
                        ".......................",
                        ".................XXXXXX",
                        "..XXXXXX.........XXXXXX",
                        "XXXXXXXXXXXX.....XXXXXX",
                        "XXXXXXXXXXXXX...XXXXXXX",
                        "XXXXXXXXXXXXX...XXXXXXX",
                        "XXXXXXXXXXXXXX..XXXXXXX"
                    }),
                });

            // add non-interactive items
            l.Items.Add(
                new Item
                {
                    AssetName = "hajzl",
                    Weight = ItemWeight.Light,
                    Position = new Point(11, 9),
                    ItemMap = LoadMap(new[]
                    {
                        ".....X",
                        ".....X",
                        ".....X",
                        ".....X",
                        ".....X",
                        "XXXXXX",
                        "XXXXXX",
                        ".XXXX.",
                        "..XXX.",
                        ".XXXXX"
                    }),
                });
            l.Items.Add(
                new Item
                {
                    AssetName = "hajzlak",
                    Weight = ItemWeight.Light,
                    Position = new Point(16, 7),
                    ItemMap = LoadMap(new[]
                    {
                        "XX",
                        "XX"
                    }),
                });
            l.Items.Add(
                new Item
                {
                    AssetName = "3-ocel",
                    Weight = ItemWeight.Heavy,
                    Position = new Point(17, 3),
                    ItemMap = LoadMap(new[]
                    {
                        "X",
                        "X",
                        "X",
                        "X"
                    }),
                });
            l.Items.Add(
                new Item
                {
                    AssetName = "4-ocel",
                    Weight = ItemWeight.Heavy,
                    Position = new Point(1, 8),
                    ItemMap = LoadMap(new[]
                    {
                        "X",
                        "X",
                        "X",
                        "X",
                        "X",
                        "X",
                        "X",
                        "X",
                        "X",
                        "X"
                    }),
                });

            return l;
        }
    }
}
